#ifndef _CERTIFIER_H_
#define _CERTIFIER_H_

#include "online-certifier/util/typeDefines.hh"
#include "online-certifier/user-functions/userModularFunctionBase.hh"
#include "online-certifier/util/generatePrime.inl"
#include <vector>

class certifier{
    public:
        certifier(userModularFunctionBase* f);
        bool certify(integer* result, size_t primeIndex);
        bool certify(integer* result);//automatically picks last primes from the primTAble

        //bool certify(vector* result, size_t primeIndex);
        //bool certify(matrix* result, size_t primeIndex);   
    private:
            userModularFunctionBase* task;
            std::vector <fixedBitSizeInteger> primeTable;
            size_t pIndex;

};
#endif
